package com.codi.bus.core.service;

import com.codi.bus.core.resultModel.SMSSendResult;
import com.codi.bus.core.service.model.SMSParameter;

import java.util.List;
import java.util.Map;

/**
 * 简化短信发送
 *
 * @author shi.pengyan
 * @version 1.0 2017-09-04 16:41
 * @since 1.0
 */
public interface SMSSimpleService {

    /**
     * 同步发送
     *
     * @param mobile
     * @param smsTemplateCode
     * @param params
     * @return
     */
    SMSSendResult send(String mobile, String smsTemplateCode, List<SMSParameter> params);

    /**
     * 异步发送
     *
     * @param mobile
     * @param smsTemplateCode
     * @param params
     * @return
     */
    SMSSendResult sendAsync(String mobile, String smsTemplateCode, List<SMSParameter> params);

    /**
     * 异步发送短信
     *
     * @param mobile
     * @param smsTemplateCode
     * @return
     */
    SMSSendResult sendAsync(String mobile, String smsTemplateCode);

    /**
     * 异步发送，语法糖
     *
     * @param mobile
     * @param smsTemplateCode
     * @param key
     * @param value
     * @return
     */
    SMSSendResult sendAsync(String mobile, String smsTemplateCode, String key, String value);

    /**
     * 发送自拟短信息
     *
     * @param phone   手机号码
     * @param message 短信内容
     * @param funCode 短信代码
     * @return
     */
    String sendMessage(String phone, String message, String funCode);

}
